package com.lizardmind.haofudoctor.other.rongYun

import android.os.Parcel
import android.os.Parcelable
import com.lizardmind.haofudoctor.other.jsonOf
import io.rong.common.ParcelUtils
import io.rong.imlib.MessageTag
import io.rong.imlib.model.MessageContent
import org.json.JSONObject

/**
 * 方案后面的自定义随访时间 仅医生可见
 * Created by Extends on 2017/12/6 14:03
 */
@MessageTag(value = MessageTags.FANGAN_TIPS,flag = MessageTag.ISPERSISTED)
class FanganTipsMessage(): MessageContent() {
    var id = ""//方案的id
    var endTime = ""//结束时间
    var custom = "0"//0:默认时间，1：自定义时间
    constructor(parcel: Parcel) : this() {
        id = ParcelUtils.readFromParcel(parcel)
        endTime = ParcelUtils.readFromParcel(parcel)
        custom = ParcelUtils.readFromParcel(parcel)
    }
    constructor(byteArray: ByteArray) : this(JSONObject(String(byteArray)))
    constructor(json: JSONObject):this(){
        if(json.has("id")){
            id = json.optString("id")
        }
        if(json.has("endTime")){
            endTime = json.optString("endTime")
        }
        if(json.has("custom")){
            custom = json.optString("custom")
        }

    }

    override fun writeToParcel(dest: Parcel, flags: Int) {
        ParcelUtils.writeToParcel(dest,id)
        ParcelUtils.writeToParcel(dest,endTime)
        ParcelUtils.writeToParcel(dest,custom)
    }

    override fun encode(): ByteArray {
        return jsonOf("id" to id,"endTime" to endTime,"custom" to custom).toString().toByteArray()
    }

    override fun describeContents(): Int = 0

    companion object CREATOR : Parcelable.Creator<FanganTipsMessage> {
        override fun createFromParcel(parcel: Parcel): FanganTipsMessage {
            return FanganTipsMessage(parcel)
        }

        override fun newArray(size: Int): Array<FanganTipsMessage?> {
            return arrayOfNulls(size)
        }
    }
}